#include "njm_system_mgr.hpp"

namespace njm
{
    SystemManager::SystemManager()
    {
        Init();
    }
    SystemManager::~SystemManager()
    {
    }
    void SystemManager::Init()
    {
        mSignatures.clear();
        mSystems.clear();
    }
    void SystemManager::Clear()
    {
        mSignatures.clear();
        mSystems.clear();
    }

    void SystemManager::Update(float deltaTime, Coordinator& coordinator)
    {
        for (auto const &pair : mSystems)
        {
            auto const &system = pair.second;
            system->Update(deltaTime, coordinator);
        }
    }
    
}
